I've tried some Canvas before, realising it is quite a hassle
sometimes because it will not scale naturally according to the canvas
width and height. It probably means it just change the colours within
that pixel which result canvas shapes being unscalable or unmovable.
The way I did really is just to hard code it to clear the shape and
redraw everytime whenever the canvas is scaled or the object is moved.
Other people should have a better solution compare to mine.