Composite Axis and Scale

This is still a work in progress, so there is much room for improvement.

This is a branch from Bill Dwyer's branch for composite ordinal scales. I've added a composite axis to complement the composite ordinal scale, since the category axis didn't seem to have enough power.

An example of this feature can be seen in ```composite-quicktest.html```

Here's a brief overview on the changes:

Composite Ordinal Scale:
Overall, I didn't make many changes from what Bill had originally. I added a few methods to make calculating the label positions easier. The way these methods work is by taking an array of keys, which may just be a prefix of a valid array of keys.

Composite Axis:
This class extends Category Axis, and will show variable ticks lengths and labels for all levels. Most of the _doRender method is copied from categoryAxis, so there may be a way to simplify this code. I can rename this to Composite Category Axis, but I'm not sure if we're going to make a Composite Numeric axis, though I can see a Composite Time Axis (with different intervals of time) of some sorts being created in the future.

All suggestions and questions are welcome.
it does matter (so you can go bug the author if it doesnt make sense or you have followon questions) although the name isnt really necessary since there's git blame, but there's no harm in keeping the author annotation on the comment