finally ported the project to SDL2. however, we cannot use textures.

textures are kept in video memory and their width/height are limited by the
system. images larger than the native width/height are just truncated.
therefore, we keep using surfaces lying inside the system memory. this puts a
slight overhead for blitting (and converting) the surfaces to the display
surface.