add some constructed test cases
use smaller endpoint alwats as startpoint
implemente IComparable<Edge<T>> for edges
remove EdgeComparer - now that Edge<T> implements IComparable
reorganize Build and PointLineComparer

Use a dictionary of x-coordinate and Lists of to-be-added and
to-be-removed Edges instead to streamline code (fewer conditionals,
clearer main loop).

Also, use crossproduct in the PointLineComparer instead of
computing y coordinates and comparing with epsilon.
Merge pull request #11 from hannesm/improve-point-location

Improve point location