Add complex numbers

Fixes #18.
Holy fuck at this gigantic mastodon of a commit. I must be crazy.