Implement steps() timing function editor

1. I added support for steps() timing function.
2. I refactored the existing inline timing function code for cubic-bezier().
3. I developed this using TDD, so this includes Unit Tests.

**Support for:**
* steps(&lt;integer&gt;[,[start|end]]) function
* step-start
* step-end

**Keyboard Events**
* up/down arrows control steps
* left/right arrows control start/end

**Mouse support**
* None. Doesn't seem like any natural gestures.

**Issues?**
* Edit controls?
  - count spin control
  - toggle switch for start/end
* More then ~25 steps is not usable
  - dynamically make lines thinner as number of steps grows?
  - increase size of editor?
  - rescale grid?
* Editing doc while editor open is unforgiving
  - e.g. While typing "start", editor closes due to intermediate updates
* Validation
- editor silently fails when invalid parameters
- Proposed [Showing Errors for Inline Editors](https://groups.google.com/forum/?fromgroups#!topic/brackets-dev/APEzunRwfrE) to help solve this issue. Note this also helps cubic-bezier() and all other Inline Editors.