Fix Axis and add the range_user property

(Note: This also makes SetRangeUser() automatically mark its pad
modified. I think that might be one of the major culprets which
causes the need for a `gPad.Modified()` call)