reworked mappoints: x/y are now signed, other fixes and changes

- CMapPoint x/y are now signed, -30000 is used to denote an invalid point
- CLine now ignores every other Y position for vertical lines, so these
  are truly vertical, not staggered
- CLine::snapToPoints now calculates cardinal directions properly
- this fixes the last of the line tool's issues, excluding wall painting