Decorator to defer and consolidate multiple canvas draws inside a method

This provides finer-grain control over the previous attempt to delay and
throttle draw calls. That led to noticeable stalls