implement drawing on canvas instead of creating lots of QML rectangles