Axis.Category._requestSpace caches character sizes

# cat-cache
![cat-cash-1](https://cloud.githubusercontent.com/assets/3344958/3379540/75d128fc-fbf3-11e3-8b79-6f9f3f44b7eb.jpg)

`catAxis._requestedSpace` decides how to fit ticks into their bounding boxes by inserting them into the DOM and then measuring them, letter-by-letter. This means a hundred or so touches to the DOM each time you call `_requestedSpace`, which makes it rather slow.

This branch changes `_requestedSpace` to measure and cache the dimensions of each character, and compute their sizes by adding up individual characters. This means you only touch the DOM as many times as you have letters, and caching means that further resizes will be much faster.

Adding up individual characters is only an approximation, but it's fairly accurate, always within `0.05` px of the actual measurement in my tests.

### Before (page load)

![screen shot 2014-06-24 at 4 23 19 pm](https://cloud.githubusercontent.com/assets/3344958/3379726/a177812e-fbf6-11e3-866f-8f2db5c03d7a.png)

### After (page load)
![screen shot 2014-06-24 at 4 22 06 pm](https://cloud.githubusercontent.com/assets/3344958/3379729/b3ca9366-fbf6-11e3-9394-ea941dc7377b.png)

### Before (resize)
![screen shot 2014-06-24 at 4 30 12 pm](https://cloud.githubusercontent.com/assets/3344958/3379790/d37ee3c8-fbf7-11e3-9af2-c6d76e4f0366.png)

### After (resize)
![screen shot 2014-06-24 at 4 29 40 pm](https://cloud.githubusercontent.com/assets/3344958/3379789/d07a9000-fbf7-11e3-982a-36ba20c94f6b.png)


Close #572.
the constructor initializes the javascript object, without any connection to the DOM (eg `this.element === undefined`, `this.content === undefined`). `_setup` is called the first time the component is anchored and binds it to the DOM, creating pointers for the element etc. the plan right now is to change it so `_setup` is called when the object is created so that the pointers to DOM nodes / selections are always valid, and just have it be a removed portion of the DOM. see #591. once we do this we could get rid of `_setup` entirely and do the work in the constructor.