Added basic API functions for Complex class

* is_canonical()
* __hash__
* __eq__
* __str__

There are some issues with the __str__ function. Will discuss on
PR