Created slightly more efficient hashing of number type

Using floor and avoiding an extra double cast increased
the runtime by a factor of two.

A simpler hash would be preferred, although if integer support
is added then simply returning the integer portion of a number
would be best.
Added error detection to creating tables pass their capacity

Currently limited to 16 bits of size.
Makes the tbl struct fit in a nice 6x4 bytes.
String is already limited to this size so it makes
the storage types of v nice and consistent.