Enhancement - FocusHandler Rewrite

Based on #702 

- Rebased against `cef/2171` branch
- Re-Implemented `IFocusHandler` allowing user to override if required
- Appears to be working without requiring `WndProc` override
oops, `handler` can be null.  Maybe the `if` block above should also have a `return` inside?