Big commit. Started applying pep8, implemented Polygon, ...
geometry changes:
- return types that were bool,float,float
  are now float,float or None,None
- added minmax
- added Polygon

not much else. Check diff.