Refactor the overlapping element code to remove the time consuming recursion. Leads to huge speed ups in drawing of overlapping elements. Move to the Row class where it could be used elsewhere if needed.

Other minor clean ups.
Fix row cutting off the top when it is partially scrolled off.
Fix the gray image painting while the cached image is regenerated. Use a stretched version of the cached image until it can be re-rendered.

Try to suppress the cancellation exception.
Detect individual row resize events and re-render the elements.
Merge remote-tracking branch 'remotes/jeffu231/TimelineImprovements'