Remove (declare (special ...))s and fix byte-compilation warnings

Like mentioned in d7a5a4dd794224bdcedcd339fff3ad71a01573ca, the code still works this way (at least in Emacs 24.3+, it seems), and without `defvar`, we only lose the ability to dynamically rebind the value.

If you're eager to get rid of the byte-compilation warning, though, I will add it, no problem.