SDL2 now supports 2-bpp surfaces

I don't know whether it's still the plan to port Matrix Brandy to SDL2 (I think it would be a very good thing, not least because it would open up Android, iOS and Emscripten as targets) but it may be of interest that in the most recent release (2.30.0) support for 2-bits-per-pixel indexed surfaces has been added. This would be ideal for implementing MODE 1 and MODE 5 directly.