Add strong typing of Class / TagType and Tag instead of uint8
NewInteger : automatically handle {u|}int{64|32|16|8|} types