rewrote Tool class to be a pure interface, made updates to accomodate the change
made classes for gamma correction and fast random numbers
made classes for gamma correction and fast random numbers
made two versions of Undo::push, updated code to use them