Use Repeater instead of GridView to display map.

The GridView made item positioning less clear and nescissated more code.
Simplify Box API.

Since it was always asked to move in both x and y, it simpler to
recieve a QPoint as the delta. The delta used by Level is always moving
in just one direction but writing ifs for it makes for unnecessarily
complexity in the code.
Use qmlRegisterUncreatableType to expose enums.

Board and Level shouldn't be created from QML. Their default
constructors didn't make sense.
Don't fight against Qt object model.

Use game as parent of level collections and settings, and level
collection as parent of level to ensure their destruction.
Make Level constructor explicit.
Remove uneeded metatype declaration.
Make LevelCollection not importable.

QML needs to be able read currentCollection property of game but not to
import or instantiate LevelCollection.
Remove extra empty line and column.
Don't crash when end of collection is reached.
Centralize board in window.
Add OUTSIDEs at end of board.