Remove CanvasItemDrawing from Drawing object completely
This is a continuation from (and depends on) MR !8013 (merged)
Details
Complete the removal of the CanvasItemDrawing object being used in the Drawing rendering stack to get access to the Canvas (and Gtk widgets)
Move preference setting and handling out of Drawing and into CanvasItemDrawing this will have the knock on effect of forcing callers to the renderer to set the rendering preferences they need on the drawing object and not use prefs.
But this also means the prefs can no longer pollute the rendering calls.
Events calling back from display are kept using signals on the Drawing object. No further refactoring is done beyond maintaining the structure.
Other fixes
Prefs has a fix for its call function which didn't account for directory watchers. It now calls recursively.
CursorTolerance is moved entirely to CanvasItemDrawing as it made no sense in Drawing any more.
Includes to preferences.h added to a bunch of locations that were chain including from display header.