Proof of concept new style specs

Hi again all,

Here's a little proof of concept for how I would like to see style specs working. The big idea here is to
* Get rid of `all_the_styles` and all the `behaves like` things that were added [here](https://github.com/shoes/shoes4/blob/master/spec/shoes/shared_examples/style.rb).
* Test the 5 setter methods and 2 getter methods for styles described [here](https://github.com/shoes/shoes4/pull/683#issuecomment-43389269). In this PR that looks like this:
  * **Setters**
    - **During creation of element** - tested in element tests no changes in this PR
    - **Via element-setter** - newly added tests iterate through each supported style and check that the element responds to a setter and that `update_style` gets called.
    - **Via style method** - small modifications to existing tests for this
    - **Element-level setting** - newly added tests (discussion in line)
    - **App-level setting** - tested on app no edits
  * **Getters**
    - **`style`** - small modifications to existing tests
    - **method** - newly added tests iterate through each supported style and check that the element responds to the getter and that `update_style` does not get called

* I hope that this will generate some discussion to make sure everything is getting tested that we can think of (well . . . or that we can think of how to test) before putting #711 to rest.

* I've only applied these tests to arc (and commented them out temporarily on the others) to keep things simple, but I'll add `it_behaves_like "object with style"` to all the elements from #711 before this is submitted.

Sound good?
So the point of the args is so we can `new` up the object we want, right? Well, I think there's another way to slice this with RSpec which should be nicer.

`it_behaves_like` calls can also take a block which is used to set up state for the shared example. You can see us [using it for the gradient specs](https://github.com/shoes/shoes4/blob/b08b215c8235de15576805076fd87e1d0c31d223/spec/shoes/shared_examples/dsl/gradient.rb#L19-L21) to call a typical `let`.

So I think we could use that to reassign the `subject` and pass the parameters to the `new` call directly here, where it makes more sense than a disconnected list of arguments headed in to who knows where.