Fixed up some parts

- Changed Namespace as it was conflicting with the main class.
- Changed Node to clone polygons in the constructor instead of trusting
the user to do so
- subtract and union work correctly
- intersection works but normals remain flipped