Separate global mode

Make `smartscan-mode` local, and add a explicit global variant
`global-smartscan-mode`.

This lets the user toggle `smartscan-mode` on a per-buffer basis, or to
enable it for specific modes only by adding it to the corresponding
hooks.

It also helps to avoid conflicts with other modes than bind to M-n and
M-p, such as the Git Rebase Mode from Magit.  In such a case, the user
can just toggle Smartscan Mode off for the affected buffer only, to get
back M-n and M-p locally for just that buffer, without affecting
M-n and M-p Mode in other buffers.