Fix: GameBoard compile issues on MSVC

Binding pointer to member to std::function doesn't compile.
Replaced with ordinary member pointer.
MSVC build after making linsokoengineqt static.
Added GameBoard::resize_and_center
PuzzleEditor now works on copy of GameBoard.
Created GameBoardEditor and delegated GameBoard editing from PuzzleEditor.
Removed metadata editing from PuzzleEditor

This complicates implementation of undo stack. It would be nice to have it
here, maybe it can be returned at later stage.
Removed model changes tracking from PuzzleEditor.
Removed local QToolbar from PuzzleEditor
More icons
Interface for document workflow in PuzzleEditor.
PuzzleEditor workflow in MainWindow
Moved Undo/Redo actions out of MainWindow
Moved MainWidow to bosp_app
Discarding puzzle editor changes on collection close.

If puzzle editor wasn't visible all the time, we wouldn't have to do it
this way. On the other hand, it is dangerous to leave puzzle open in
editor one collection was closed.
Added GameBoard::is_playable
Added PuzzleBrowser::first_selected_puzzle
Revision of PuzzleEditor document workflow interface.
Implemented PuzzleEditor document workflow interface.
Cleaned up MainWindow toolbars and actions.
Removed editor tools icons from GameSkin

These should be generated from existing skin attributes.