Added a custom error in utils/pointInPolygon().

This will help me to terminate eachCoords whenever I need it. I could use
actions's return value, but it would have to be relayed to apply_action, so I
went for this version.
Fixed a typo.
Changed utils/poinInPolygon to return 0.5 'on boundary'.

This is actually more like 'if the point is identical'. And if known_point is
left out. The hard-coded 5e-7 apply to WGS84 and amount to < 1px distance for
two points in a map canvas with maximum zoom level.
Switched p and q in utils/poinInPolygon w/known_point.

Because I'd rather have p-a first and then q-a, q-b, etc.
Changed pointInPolygon to return 0.5 on boundary w/known_point.

It still does this only in case points are identical. I'll probably add a
point-on-line-segment check, but only if it seems utterly neccessary.
Increased bbox used w/known_point by a tiny amount.

Because I check bbox before identical coordinates, it may return an inverted
inside-ness when it should return 0.5.
Removed unused parentheses because throw doesn't need those.
Added missing semicolons in lib/ranges.
Fixed bad commit 0227cb6dcd67.
Reformatted a one-liner into two lines.

It did not look that good as one line.
Removed LineStrings and Points from sideness calculation.
Removed useless substraction.
Improved within/intersects usung undecided sideness.

My understanding is that as soon as a point is found out to be on a boundary, I
cannot safely use it as last_point. Instead I have to do the whole vertical
line intersection count again.
Used a custom error to terminate eachPoint in _list/bbox-filter.

Otherwise I'd have to fill the stupid points list again and again.
Improved contains/intersects using undecided sideness.
This resets 'inside' after each getRow().

Because it is more reliable (since one bad point-in-polygon check doesn't mess
up the ones following it), and I can't expect points from different rows to be
close to one another anyway.