Sdl2freegraphics2  (free graphics, take 3)

SHA: 3f2e928

SHA: c7d7e17
SHA: d340b87

also exist as other pull requests

SHA: a3f9883     the mega texture was broken (probably never worked), and was also not used for caching. Removal seemed the simplest solution for now. I do agree it needs caching of textures, but perhaps looking at that again after adding the recolouring stuff of 32bpp is more useful.

SHA: 398ff00  the 8bpp images are converted to 32bpp images as recoloured sprites against recolour table 0xFF, which contains the palette. This makes that legacy sprites and free sprites can be mixed in any way you like.

SHA: fcd1433  the encoder uses libpng for images reading, and lex/yacc for generating the scanner and parser for reading the input files. (flex/bison also work).
This patch needs cmake support, but no idea how to do that :(
I added my "mk" shell script, not sure how useful that is.

SHA: 859131e  the generated scanner and parser files, so you can build the encoder without installing flex/bison.

SHA: b4ff733 the ground-tiles input file, but not the groundtile sprites themselves. Reason is that I don't know where you want them, and there are some licensing things to take care of first.

SHA: 4f7f3dd is a very simplistic approach to adding Lua support for loading free graphics files. I am sure an experienced Lua dev can make a nice directory reader or so to collect the files, and offer them at the right time.

Stuff to do is the recolouring of some sprites, most notably the cloth sprites. The 32bpp encoder and decoder can handle recolouring, but it needs a bit of additional table setup to make it work.