Custom tick generation

Add functionality to provide custom tick generator for quantitative scale.

Close #1058.
:/ I'm still confused at why this signature is so complex.  I'm mostly confused at why a scale is the first argument.  Let's say I want to make a tick generator.  I personally would want to know the ticks available and choose which ones I want / affect the tick values in probably the most common usecase.  Why would I need to know the scale in this situation?