"fix" PhantomJS test failures, depend on codemirror >3

Resolves #47

https://github.com/marijnh/CodeMirror/issues/2409
> PhantomJS is starting to feel increasingly shaky. I don't really want to add too much code to the core to deal with its bugs. In our own test suite, tests that fail on Phantom and work on real browsers are simply disabled when running on Phantom. I suggest you do the same in your tests.

Since the maintainer of CodeMirror doesn't want to add bytes his javascript to get test that work in real browsers to pass to work in PhantomJS, we should do what he does and skip the failing tests as well.

I took his suggestion, and implemented the same solution he uses in his code.

I also changed the bower.json dependency for codemirror from "^3" to ">3".

Good point. I'm looking up node's [semver](https://github.com/isaacs/node-semver/).

```
>=3 <=4 # won't allow 4.1.x
>2 <5   # will allow 2.1 
^3 || ^4
~3 || ~4
3 || 4
```

(I believe) the above are equivalent, and map to `>=3.0.0-0 <5.0.0-0`. I'll stick in `3 || 4` because it's concise and readable, imo.