gfx: 1bpp<->2bpp conversion

this is the simplest way to support 1bpp without rewriting a lot
refactor png-to-2bpp conversion
gfx: rewrite lots
gfx: 1bpp-to-png

also dont assume any dimension matches in png conversion