Coding style refactoring

 - Added const keyword to pointer when underlying object doesn't change
 - Unified naming of object parameters into "this" and "super"

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Minor simplification in canvas code

 - Removed large parts of duplicate code
 - Other minor simplifications
 - Focus is now circular, i.e. after the last widget in the tab order,
   pressing tab goes back to the root widget

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>