add numeric support

This commits adds numeric data-type support.
Because of its nature, GPU is not good at treating variable-length
data-type like numeric. So, we simplified numeric data-type in the
kernel space; to represent it using 64bit integer internally,
because most of expected use case shall not overflow the 64bit
integer even though it is very big company.
(On the other hands, it lacks accuracy in science area).