mbyte: modernize mb_init

- localize variable declarations
- convert comment format to modern style
- simplify construction of mb_bytelen_tab[] to make it clearer what's
  happening
- correct confusing else after return introduced by the unifdeffening
- add static assert to prevent anyone from messing with the byte to char len
  tables (no that this was likely)
macros: add minT/maxT static inline functions

In my opinion the best we can do with current compilers (no C11 on MSVC).
mbyte: cleanup utf_ptr2len{_len}

Should hopefully be a bit easier to read, annotates them better to better
illustrate what one can expect from these functions.