Fix file extension on save.

- Add .gitignore.
Code cleaning, refactoring and enhancement of labels.

- Position of the caption bar in viewer can now be configured in
  settings.
- Font size for slides in editor or viewer can be configured.
- Label are now automatically resized accordingly to screen (SlideLabel
  & ViewSlideLabel in kv files)
- Added exception catching in many app.py methods.
- Moved presentation dict update out of DraggableSlide class.