Major clean-up:

- db: Added new scripts and corrected some of the schema SQL.
  (There are possibly too many scripts now. But let's see when
   this thing progresses.)
- backend: Reorganized the code into modules. The Flask-spefic
  code has no references to the db code, and vice versa.
- Data loading: Do not fail if there are no coordinates.
- DB: Updated visibility ranges to better match the values
  we get from the UI.
- Frontend:
  - Add info window for showing the details of a point.
  - Do not throw away measurements that are already on the map
  - Javascript clean-up.