Updated event handling in Tool and ToolActionArea

Started progress on #20. All needed avents seem to be handled.
Fixed minor bugs in Tool related components

Issue #20. The tool foundation basically works and DragTool is
operational.
Added documentation for ToolActionArea

Issue #20
Added documentation for Tool and ToolEvent

Issue #20. Phew!
Merge branch 'master' into feat/toolactionarea
Model and Painter tweaks

Layer can only be created by AnimationFrame and AnimationFrame can only
be created by Project. This ensures model integrity. Also changed the
way Layer provides Painter.
Moved ToolActionArea to AnimationFrameView

As part of ToolActionArea enhancement requested in #20, all
functionality of ToolActionArea was moved to AnimationFrameView.
Previously ToolActionArea inherited AnimationFrameView but I figured it
complicates some things and AnimationFrameView was not instantiated
anyway.
The Tool framework is slowly emerging

Further work on #20. The basic flow of AnimationFrameView and Tool
interaction is basically there but buggy apparently. Also added
drawCanvas to Painter which goes under #7.
Drawing works!

Closes #20. AnimationFrameView is pretty much functional right now.
Further modifications will be scheduled in different issues. Also it
fugures that Painter needs adjusting the bounding rect for pen size.
Added documentation for changed components

Additinal documentation for Painter, MainWindow, AnimationFrame, Layer,
AnimationFrameView and Tool.
Merge branch 'feat/toolactionarea'