make case tables immutable

- Avoids redundant object copies and semantic
  analysis for every usage.

- Multilib archives or gc-sections will take care
  of the binary size issue.
store other immutable tables in unicode_tables

- This is mainly for consistency with other tables.
deduplicate CodepointTries and leave the data in libphobos2.a

- Store the static immutable CodepointTries in separate functions.
use functions where applicable to reduce compile time/template bloat

- The semantic analysis and object generation only
  needs to be done once when building phobos.
  Using those overloads becomes a simple link dependency.

- add overloads for most common cases
Merge pull request #1636 from dawgfoto/issue10866

make case tables immutable