Loosened requirement for reading

Reading strings now accepts values convertible to string
Reading an integer now always returns a lua_Integer
Reading a float now always returns a lua_Number
Also minor performance improvements