Support for selection by attribute

This implements the feature request from #18.

It adds support for a new selection type:

```
'selection': {'type': 'attribute', 'attribute':'name_of_column'}
```

Which will then highlight points with true-like values for
rows in a given column

The old box selection can be written more explicitly as
```
'selection': {'type': 'box', ...}
```
Although 'type' will default to 'box' if not explicitly provided.

It should be easy to introduce additional selection strategies,
without breaking backwards-compatibility