Allow whitespace labels

They still must not be empty-string, but this makes it possible to pass
" " and have it work the way you might hope. Internally we convert this
to "&nbsp" and set as HTML instead of text because the browser won't
respect whitespace.

Change-Id: Ie70b21fc13f3ad45b3104d723cbc2d6457c93bad
Merge "Allow whitespace labels"