ico: Fix support for 256x256 icons

In both loading and saving them. The ico format uses "0" as the width
or height to mean 256:
https://en.wikipedia.org/wiki/ICO_%28file_format%29#Icon_resource_structure

Also add a test for that.

https://bugzilla.gnome.org/show_bug.cgi?id=674724