Use `face-remap-add-relative' to not interfere with `buffer-face-mode'

`buffer-face-set' overrides and disables any faces used by
`buffer-face-mode' (or derived mode like `variable-pitch-mode').
Using `face-remap-(add|remove)-relative' allows us to add the
`auto-dim-other-buffers-face' alongside any faces used by
`buffer-face-mode'.

[mina86@mina86.com: checkdoc'ed, untabified and renamed
 `adob-face-mode-remapping' to `adob--face-mode-remapping']
Refactor `adob--dim-buffer' to check `dim' only once

Instead of having two top-level `when' statements first checking
for “(and (not dim) …)” and the second one for “dim”, use an `if'
checking for “dim” with a nested `when' checking for “…”.

Also, after removing relative face remap, set the
`adob--face-map-remapping' variable to nil.
Move hooks adding/removing to separate function

Both `turn-on-auto-dim-other-buffers' and `turn-off-…' had the full
list of hooks that adob used.  Change those function so that the list
is now in a separate function – `adob--hooks' – which adds or removes
the hooks depending on the argument.
Remove pre command hook

The only purpose of `adob--pre-command-hook' was to record the
`current-buffer' before the command was executed.  This allowed
`adob--post-command-hook' to check whether the buffer changed.

A much simpler approach is to record buffer whenever it is
undimmed.  This gets rid of the pre command hook and the whole
logic is now in `adob--post-command-hook'.
Merge branch 'master' of https://github.com/7696122/auto-dim-other-buffers.el

Conflicts:
	auto-dim-other-buffers.el