Add support for setting the type of constraints to be used when dragging a brush

- _closed_ The default and constrains the extent to be entirely within the range
- _open_ Constrians the extent to where it can can go just outside the range
- _halfopen_ Constrains the extent to where half of it can go outside the range
- _loose_ No constraints, can drag the extent well beyond the range