Cleanup SpecialCharacterInspector

* buildButtonList doesn't need to use a promise, it's
  just DOM manipulation
* Move showSpinner to before getCharList (the call which
  actually could be async)
* Have buildButtonList append contents to the DOM, no need to
  to store them as a property for later
* Check the characters list is empty before doing any fetching
  or building instead of just doing it inside getCharList and
  returning an unresolved promise

Change-Id: I9a2ba501438d686d3eb7237db9a1eaefc19a2b07
Merge "Cleanup SpecialCharacterInspector"