Further fixes to integrate Complex module with CSymPy

- [x] add
- [x] mul
- [x] pow
- [x] tests
- [ ] expand
The main issue with expand not working perfectly is in this case.

So primarily the issue is: things like `2+3*I` as treated as a single complex number, one way to go about fixing this is to break `2+3*I` into `add(i2, mul(i3, I))` and then expand this.