TOKENS
	Symbols
		Array notation
			[
			]
		Object notation
			{
			}
			:
		Separator
			,
		String
			"
			\ (for escape sequences)
		Numerical
			-
			.
			eE (exponents only)
			+ (exponents only)
	Keywords
		true
		false
		null
	Key
		strings only

Implement stack data structure for pushing and pulling states when necessary

LEXER STATES
	START
	ERROR
	END
	VALUE
	OBJECT_KEY
	     ---------
	OBJECT        |
	ARRAY         |
	PRIMITIVES    |------> Can be values
	STRING--------|------> Only one that can be an object key
	NUMBER        |
	     ---------