Implemented SelectionSettings and related Observer class

Also added support for Observers for PenSettings and ToolSettings.

Edit: changed Settings() to settings(), Selection() to selection()