(Hybrid) Improving performance by eliminating unnecessary speller creation and deletion

This is a hybrid solution between #15 and #16 that retains the performance benefits of the original fix.

I also fixed a memory leak: the `@config` memory allocated in `Speller#initialize` was never being freed. It's now being freed in the finalizer or when the user explicitly calls `#close`.
Nil return values shouldn't be documented using `@return` since it's the default return value anyway.