Deleted create_floor_canvas() method, no longer used
Rewrite apply() without reduce()

  - Removed the use of reduce() which isn't a first class function
     in python 3, and replaced it with a simple equivalent implementation