Checkboxradio: Retrieve label correctly

This PR does two things. It

1. centralizes the code for retrieving the label into one function (```_findLabel```) so it's easily unit-testable
2. makes use of this.element[ 0 ].labels, if present, otherwise it grabs the labels from this.document[ 0 ].getElementsByTagName( "label" ) and looks for the relevant one

I've run the new unit tests on:
- phantomjs (obviously :) )
- Chrome/Desktop
- WP7.5 (Nokia Lumia 800)
- WP8 (Nokia Lumia 520)
- Windows 8/IE 10 (Browserstack)
- Android 2.3.5 (Samsung Galaxy S II) **EDIT**
- iOS 6.1.5 (iPod) **EDIT**
- FF27/Linux **EDIT**

... and all the right ones fail without the change applied, and all of them pass with the change applied.