More control over the axis and ticks

- Position first and last ticks independently
- Supports non-linear and time scales