update for linear

Accompanies https://github.com/diagrams/diagrams-lib/pull/212

This is nearly done; it remains to decide what to do about `force-layout`, and the minor name collision of `size`.  I think the choices with `force-layout` are port it to linear (it has [no revdeps but `diagrams-contrib`](http://packdeps.haskellers.com/reverse/force-layout)) or create `vector-space` class instances for `V2` and other types, in `diagrams-contrib`.
This `Ord` instance is wrong? It's used for `Grid` but I don't fully understand it. A proper `Ord` instance could be made by comparing `Double`s:

```
instance Ord Q236 where
  a <= b = toDouble a <= toDouble b
```

Same trick could be done for `signum`.