fix is_unitary gate method

fixes:
	- use complex numbers
	- use .all() when comparing matrices
	- remove TODOs / FIXMEs