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