Add g:surround_ignore_target_count.

This is useful when using a<number> type object.  For example, if the value
is true, "ds9" sequence is interpreted as you intended.  If the value is
false (default), "9" is interpreted as count for an object.
Refactoring.
Use autoload for surround object functions.
Change the timing to resolve placeholders.

To cancel surrouding works correctly.
Avoid annoying beep.
Move input functions to autoload.