Refactoring including more sensible canvas context prototype additions