Declarative bindings for view frames and alignment rects

An attempt at #6, inspired by [rentzsch/AutoLayoutShorthand](https://github.com/rentzsch/AutoLayoutShorthand). Some examples of what it looks like:

```objc
RCLFrame(view) = @{
    rcl_top: @8,
    rcl_leading: [otherView.rcl_trailingSignal plus:[RACSignal return:@6]]
};
```

This sets the top of the view's frame to a constant 8 points, and puts the leading side of the rect after the trailing side of another view, plus 6 points of padding. The view's frame will always match its intrinsic size.

```objc
RCLFrame(view) = @{
    rcl_width: @64,
    rcl_center: MEDBox(CGPointMake(100, 100))
};
```

This keeps the view at a constant 64 points wide, and centered at (100, 100). The view's height will always match its intrinsic size.

**To do:**

 - [x] Write more unit tests.
 - [x] Use in the demo projects (where possible).
 - [x] Support aligning baselines to other views.
 - [x] Check the types of constant values before putting them in signals.