JRE-469 Console with emoji output becomes slow

The fix consists of two parts:
* Making CCharToGlyphMapper remember that a particular character
  cannot be displayed (isn't mapped to glyph with given font). Checking
  this repeatedly in native code is very slow.
* Make CCompositeGlyphMapper remember the results of char-to-glyph
  mapping, this was missing in previous implementation. This reuses
  caching code in CompositeGlyphMapper, extending the range of
  characters for which the results are cached to include Supplementary
  Multilingual Plane (most emoji characters belong to it).
3 files changed