Add UI docking framework, get the brush tool mostly working (still needs preview)