uwsgi: run mapproxy as uwsgi app
app: don't mount mapproxy

If someone wants to run mapproxy it can be run via uwsgi in standalone
mode:

uwsgi --http :8080 --master --wsgi-file uwsgi/mapproxy_uwsgi.py \
      --pyargv mapserver/mapproxy/mapproxy.yaml
config: always use SKYLINES_MAP_TILE_URL, no implicit default

And add the mapproxy mount point to it, so it can be changed easily.
Add empty overview page
templates/flights: add header tabs to switch between list and overview

Remove the green upload button for now. Maybe we should use hanging
header tabs to keep some space for the green button above...
macros/pilot.jinja: add macro to create a link to the pilot/copilot
flights/overview: show the furthest flight
overview-table.jinja: add flight with longest duration
overview-table.jinja: add total flown distance
nav.jinja: remove **kwargs

I real don't know why it's there...
views.dyn_images: create a image of flight paths

This uses the local mapproxy as cache for the background map.
Beware: this causes a dead-lock if you have only one single thread
for both the mapproxy and the frontend running.
model: add worldwide admin boundaries table
dyn_images: zoom to country's extent
dyn_images: choose a slightly larger overview
overview-table.jinja: add paragraph around content

Adds some space between the navpills and the content
dyn_images: gracefully fail if no mapscript available
dyn_images: choose country explicit via url parameter

Allows better caching
dyn_images: finally limit extent to maximum EPSG3857 extent
dyn_images: join and eager_load tables used in filters

Fixes performance issues, but produces a SQLAlchemy warning:
AWarning: Column xxx on table yyy being replaced by Column zzz,
which has the same key. Consider use_labels for select() statements.
dyn_images: return 404 if no date in url