Switch component semantic @mixin rewrite, and improvements

I've partially rewrote the switch component, using mixins, similar to the ones used in the button component. This also solved the previous trickery for the class-names concatenation, and other things. So, overall, the switch is very much improved.

I've also added some more comments to make things a bit easier to understand. 

Right now, the `_switch.scss` component is in `/large-screen`. How about moving it in `/small-screen`, since it also has mobile support?

The last remaining thing to address is the transition for the sliding button. I'm guessing you're working on a mixin that will not overwrite the button's transitions (based on the commented `single-transition` include).