(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`.
I can't think of any case where this would return nil so we can just remove this particular test.