Support downloading .bni files and adding those icons dynamically to support private servers with custom icons. Parts to do this... is quite a list: - [ ] BNFTPv1 & BNFTPv2 (fully documented [here](https://bnetdocs.org/document/5/file-transfer-protocol-version-1) and [here](https://bnetdocs.org/document/6/file-transfer-protocol-version-2)) - [ ] BNI parsing (SC/W2/D1): - [ ] BNI header parsing (partially documented [here](https://bnetdocs.org/document/25/icons-bni); though it's not well explained, the header is straightforward) - [ ] TGA image parsing (documented [here](https://en.wikipedia.org/wiki/Truevision_TGA)) - [ ] BNI parsing (W3): - [ ] MPQ parsing (documented [here](http://www.zezula.net/en/mpq/main.html) - this will probably be the most work) - [ ] BLP1 parsing (partially documented [here](http://wow.gamepedia.com/BLP_files); BLP1's are similar to BLP2's but different header, it seems) - [ ] BMP output (documented [here](https://en.wikipedia.org/wiki/BMP_file_format)) - [ ] adding to ImageList dynamically