Refactor AbstractSquareView painting

The AbstractSquareView will now delegate painting tasks to abstract
methods