DO NOT MERGE: Implemented new in-canvas view buttons

The contents of this file are moved from ```CanvasCheckBox.cs```, which [have been previously reviewed](https://github.com/DynamoDS/Dynamo/pull/1742). The only new classes in this file are ```ImageRepeatButton``` and ```ImageButton```, which are patterned after the original ```ImageCheckBox```.