simplify lib lookup
use Lua string format
all-caps macro name as to be more clearly a macro
narrow allowable types, further distinguish different kinds of userdata
rename sublib type -> types to avoid name collision