Nested tweak and location

Adds the ability to have tweak and location affect a nested component/part/option.

E.G. a tweak should override default button styles and should change based on location:
>@include component(button) {
>  border-radius: 0;
>  background: red;
>  @include tweak(rounded) {
>    border-radius: 10px;
>  }
>  @include location(home) {
>    background: blue;
>  }
>}

result:

>.button {
>  border-radius: 0;
>  background: red
>}
>#csstyle .button.\+rounded {
>  border-radius: 10px
>}
>#csstyle .\@home .button {
>  background: blue
>}