CharacterMap: use dynamic font menu

* only update if font family update is detected.
* character map can now detect new fonts or removed fonts without
restarting

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

Fixes #3651 part 7.
CharacterMap: several fixes to char. view scroll

* Select items in the encoding list by block identifier rather than
list index (there are holes in the list)
* Scroll to the start of the list when the application starts
* Add and use IsBlockVisible to detect when we need to make a block
visible, avoiding unwanted scrollings in some cases with the previous
method of testing for only one character in the block.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

Fixes some problems with previous enhancements from #3651.
BOptionPopUp: move mennu setup to AttachedToWindow

* There is no need to delay this to AllAttached
* Apps may want to override the SetDivider, and doing it as late as
AllAttached can be annoying.

Fixes #10734.
CharacterMap: Fix 64-bit build