Take Clip classes from Segment.cpp int a header
Replace inline Clip classes with the header
Rename member variable for consistency
Use traits to make Clip::inside less type dependent
Convert Clips into a single template
Make a generic clip method, and remove specialisations
Make the Clip template completely type agnostic