Replaced uses of lua::state with lua_State

I left the typedef in-place, but I think Lua-cxx should minimize the
new names it introduces to Lua, especially since working with a lua_State
(rather than with an external object) is a useful feature of Lua-cxx.
minor doc
Fleshed out QWindow's object binding
QObject's Metatable methods only accept const pointers

This allows const object methods to be directly assigned, like so:

	mt["brush"] = &QBrush::brush;

If const is not allowed, this will result in a compile error.
Fix cpod for non lua/C++ files
more doc work
minor refactor
removed some unnecessary stack operations
minor debug
Don't automatically look for QObject-derived classes

If we test for QObject as a base class, then we cause compilation
problems for forward-declared pointers. This is a common idiom for
header files to use, so it's better to just omit trying to simplify
the metatable construction for QObject-derived classes.
Support the none type for invalid stack indices
Added a Store struct for lua::userdata_block
Added is_type, for use in conditionals
Moved a userdata's class name into our metadata
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