Add drop invalid fx

Provides a function to check for self intersection and drop where applicable. 
References #9 

TODO:
- [x] Basic polygon test cases pass
- [ ] point objects are passed
- [ ] line objects tests