Merge remote-tracking branch 'remotes/billlutton/master'

# By billlutton
# Via billlutton
* remotes/billlutton/master:
  Fix NPE when deleting a group. It looks like callers of Elements.RemoveElement are responsible for not passing in a null. This change adds that check to ElementNode RemvoeFromParent (to handle the case of a group node which has no Element)
  Fix VIX-334, NPE on rclk below last row in grid. Just bail if 'row' is null.
  Fix last channel not updated sometimes. This change removes some erroneous '+1's used in calculating how many slots to send.  In some cases this could cause the last channel to no be sent.  In my test case of 150 channels, universe size was getting set to 149 leaving junk in the last slot.
  Fixed a crasher in formatting the message for the statistic report.
Setup: Add new template for a single item.
Setup: Added a dimming curve helper to setup dimming curves.
Setup: add some buttons to the graphical patching view, to zoom, and to add/remove filters.
Scheduler & Show Editor:  rejigged how icons work for all the buttons, using the common resources, and resizing them nicely.