Begin work on Unmarshal support in ffjson.
Add more type decoding
use types and name strings to prep for recursive value handling
Use bytes.Buffer for .Output, reducing allocs per parse
Use a bytes.Reader to avoid the allocations from a bufio.Reader if we dont need to wrap a bare io.Reader
try to use original io.Reader whenever possible
convert charLookupTable to using []int8 instead of map to reduce use of hashing, which we spent 20% of our time in from a profile
start on capturing sub-structs and recursive usage of lexer.
grow default output buffer
try a local buffer before inserting into output buffer
try to use byte compare rather than string names for keynames
remove io.Reader interface, it was only used in tests, in preperation for byte read optimizations
move line counting to only happen on error, instead of all the time
dont need error handling on unreadByte.
inline the slice string instead of reading one byte at a time
remove unused counter
Add native []byte parsers for Parsing ints, removing allocations and gaining another ~4% on goser
add []byte specialized float handler, add test with Everything being deserialized
handle whitespace skipping in the inner byte loop
handle ptr types and their elems, and a little more strings