rework framebuffer 32->16-bit blit