Add language selection to narrow detection scope

This is my use case: I process many metadata records containing fields with textual content. Some processing requires me to know the language beforehand. Here I use your gem, which works great in most cases.

The problem is that many texts are **too short** to represent a good corpus for language detection. I often face false language results. Generally, this problem can only be solved by using a bigger text corpus. In my case, however, it is already sufficient if I am able to reduce the set of possible languages.

From your documentation and **API** it looked like you planned to make the selection of **fewer filters** possible, hence the `WhatLanguage.new(:all)` . I have implemented this feature.

I do not know if this wanted at all, nor if I have implemented it in a proper way.

Further explanations can be found each commit. Basically, I use the constructor input to create an intersection between all languages and the ones passed.

Please let me know what you think.