Add simple Hotkey Mode functionality

This adds a simple mode.lua library to Hydra.

Example usage, using the grid.lua library:

```lua
moom = ext.mode.bind({'shift', 'cmd'}, 'M',
   function() hydra.alert('Move Windows', 3) end,
   function() end)

moom:bind({}, 'ESCAPE', function() moom:exit() end)
moom:bind({}, 'w', ext.grid.pushwindow_up)
moom:bind({}, 'z', ext.grid.pushwindow_down)
moom:bind({}, 'a', ext.grid.pushwindow_left)
moom:bind({}, 's', ext.grid.pushwindow_right)
moom:bind({}, 'm', ext.grid.maximize_window)
```

Closes #138
Preparing to release 1.0 when #1, #163, and #215 are closed.
fix nil fn call in updates.lua

fix nil fn call at https://github.com/sdegutis/hydra/blob/master/Hydra/API/updates.lua#L11
Merge pull request #221 from justmao945/patch-1

fix nil fn call in updates.lua
Cleaning up sample init.
Simplified application:{hide,show} functions; part of #215.
Trim down README.
Making application:activate() potentially faster; part of #215.
Deleting unused function.
Fix wget order of arguments

Improves convenience drastically
Merge pull request #222 from falk/patch-1

Fix wget order of arguments
Improved performance of application:activate(); part of #215.
Fixed application:activate() and re-added allwindows param; part of #215.
Adding licenses (read: license).
Fixing build for licenses (Ruby can't handle UTF-8).
Fixed bugs in window:focus() and application:activate()
Adding REPL to fallback init; fixes #225.
Added application:isunresponsive(); part of #226.
Skipping unresponsive apps in app:activate(); part of #226.
Attempting to make application:{un,}hide() faster; part of #215.