Prepare for brush mode refactoring.

The cope base is becoming sufficiently complex, that moving brush related
code into a separate directory seems justified to me. The idea is to have
all functions related to the currently (and possibly other upcoming) brush
mode in a separate directory to ease maintenance.
Add a configuration option to keep track of the current brush mode.
Introduce a package.json file

Rationale: It's time that we get to adding some tests. I will start doing
this during the "brushmode" refactoring, as things are getting somewhat
complex. I followed the d3js setup for tests, and as such will use vows as
the testing framework of choice.

NOTE: I'm completely new to JavaScript unit testing / BDD. Therefore, I'm
      not sure if vows is the right choice for us. However, I don't have
      the time to extensively research the available options. So time will
      have to tell.
Add a first (failing) test.

This was somewhat painful to setup, but now all the required bits and
pieces are there to start expanding our test suite.
Step one for making our first test pass.

Add a brushModes function, which returns the available brushing modes.
Currently, it only returns  the 'None' mode, as the other modes must be
added by the respective modes themselves.
Use strictEqual in the test.
Add more tests that express the expected brush modes.
Initial code to register the 2D-strums brush mode.
Move the implementation of brushable into the brushModes directory.

This function is (part of) the implementation of the 1D brush). We move it
into a separate file in the brush modes directory for clarity and
alignment with the other brush code.
Fix a typo in the test.
Add a comment line to indicate the start of the 2D-strums implementation
Add initial code for a brushMode function.
Add first test for the brushMode function.
First check if there are any arguments set before anything else.