Reordered the game initialisation, so that the initial state is entered after SDL and the graphics are initialised.
This opens up some possibilities with regards to initialising states from now on (The Lua state will have access to the graphics from the start).
This also fixed the problem I had with SDL_ShowCursor() not working on the state.
I've also exposed SDL_ShowCursor() to Lua in the Mouse.cursor() function.
I now expose the screen bitmap to the Lua State from the begining, so that graphics can be drawn during initialisation.
This allowed me to get rid of the "Call to graphics function outside of a screen update" error messages in the graphics functions
Added a new bm_dithrect() function that dithers a rectangular area on the bitmap.
It is exposed to the Lua API in the form of G.dithRect()
It is intended for GUIs and title screens and so on.
Moved advanceFrame() to Game.advanceFrame() in the Lua API.
Game.advanceFrame() now returns the quit variable, so that Lua applications that use Game.advanceFrame() for an event loop can know when the user wants to kill the application.
Added about text to the demo.
You now have to press Shift+Escape to quit, rather than just Escape.
Changed the mddoc script to be used on Lua source files as well.
Documented the functions in base.lua
The bitmap module now uses 4 spaces for tab characters.
Game.advanceFrame() will now throw an error if the application's requests to terminate are being ignored.