Bug fix: Grab keyboard & daemon fixes

- Grab keyboard to ensure we get key and mouse events when running.

- Ignore KeyRelease / ButtonRelease if we have never gotten KeyPress /
  ButtonPress. (#4)

- Make main window override-redirect to stop WM decoration.

- Call XFlush() after client window unmap. Raise client window on map.
  For resolving some issues when running in daemon mode.

- Code cleanup.