(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`.
What is the reason for testing if `speller` is `nil`? Looking at the `open` method it always returns a Speller object.