implement:
	
  - some sort of general error handling mechanism (error callback)  
  - think of a new name (not only quaternions anymore)
  - q^q
  - asin(z), acos(z)
  - periodocity checking
  - square root
  - fractional exponents
  - hypercomplex arithmetic? (h)

 fix:
  - maybe free unused tokens when parsing?
  - should be able to use a+i*b instead of [a b 0 0]
  - [a b] should also work
  - log(q)
  - it looks like tan and tanh may be broken ;<
  - previous iterates in compiled version

optimizations:

maybe fold constants involving c for each sequence.  
example:

q^2+1/c. 

1/c can be calculated once for every sequence, instead of at each iteration.
 