Cleanup code

- Enable `lexical-binding'.

- Remove `mode-icons--load-file-name' and add `mode-icons--directory'.
  The directory is what is needed and when developing inside Emacs the
  `load-file-name' variable isn't available. So now this variable
  defaults to `default-directory' when being evaluated in a buffer.

- Add/improve docstrings.

- Simplify `mode-icons'. Don't specify the entire image specification,
  but just enough for the rest of the code to figure out how to create
  this specification. `get-icon-display' is then used to create the
  image specification.

- Shorten the `set-mode-icon' function.
Add minor-mode

The `mode-icons-mode' minor-mode enables/disables the setting of icons
for each mode.
Replace README.md with README.org
Add usage instructions
Fix auto load

`mode-icons-mode' is now the main entry point for mode-icons, not
`set-current-mode-icon'.
Run set-current-mode-icon when starting

Otherwise the currently visited buffer will not have the correct mode
icon set.
Remove erroneous assumption from README