Checkboxradio: Correctly retrieve label

This moves label-finding code into one function to help render the code
unit-testable. The new code also relies more on native means of getting the
label, which improves performance a great deal when the .labels property is
supported, and also improves performance when such a property is not supported
(such as in FF27).

http://jsperf.com/checkboxradio-label-retrieval-non-nested/5

(cherry picked from commit d9f5d211f7584a7f096158a3e8d0218589933c4f)

Closes gh-7293
Fixes gh-7292