Place userdata_block at the end of the userdata

This allows the result of lua_touserdata to be cast directly to its
intended type, rather than needing to offset it by our metadata.
minor debug
minor renames for consistency
Add bindings for many Qt classes
Fleshed out QPainter's bindings
lua::dump shows the userdata name if available
Fixed many deprecated uses of lua::state, lua::function
Add a strict ncurses binding

This binding is based off of the manpage entries for ncurses 5.9.
Split the Qt source file into parts for faster compilation
Added userdata_size
Added lua::malloc
minor doc
Added setglobal
Created a lua::global copy ctor
Some refactors in the interpreter
minor doc
minor debug
Expanded conversion support for numeric userdata
Added a zero-arg ctor to lua::reference
Added demo files and examples