Add a KeyboardLayoutEngine::SetCurrentLayoutFromBuffer implementation

Some servers (read Wayland here) do the XKB initialization and provide
clients with a file descriptor that can be mmap'ed in order to retrieve
the keyboard layout string.

Today the method XkbKeyboardLayoutEngine::SetCurrentLayoutByName is
(ab)used to support this case (where the client provides the keyboard
layout string not the name), which is not ideal.

CL adds a method that solely handles this case, cleaning up
XkbKeyboardLayoutEngine::SetCurrentLayoutByName. The method will be used
later on when the CL that adds keyboard/wayland support lands.

BUG=578890

Review-Url: https://codereview.chromium.org/2645703005
Cr-Commit-Position: refs/heads/master@{#445171}
8 files changed