Fix #15 Weird errors when trying to use movement keys

The reason was that HardTimeOn was called every time user enters buffer.
Fix that with calling HardTime only on buffer creation. Also protect
user from calling HardTimeOn several times.