[ZF3] [WIP] Refactor Filter component

Hi,

As the discussion of ZF 3 is starting, I'm trying to refactor some components that need it. As @weierophinney and @ocramius knows I'm starting to refactor InputFilter, but in order to make it properly, some changes needs to be done in the Filter and Validator components too.

I'm starting the Filter one as this is the most easy one. Here are current things I've done:

- To be more homogeneous, each filter that needs options extend the AbstractOptions class. Now options must be specified using underscore_separated.
- As a consequence, I've removed completely the fluent interface (as now most options will be specified through the constructor directly).
- As ZF3 will be PHP 5.4, I've removed a lot of boilerplate code to take advantage of Callable typehint.
- I've simplified drastically the FilterChain implementation. It was doing too much things (the setOptions acted as a factory to create filter using config, but it's not the task of the Filter chain). The creation should be hnadled by the Factory of the InputFilter class. Now, because the FilterChain does not create filters on itself, it does not have reference to the FilterPluginMnager. It will make things A LOT simpler for components that rely on Filter component like InputFilter. Injection will be simpler.
- Each filters that will have dependencies will receive its own factory.

- There is now an adapter plugin manager for compression filters.
- There is now an adapter plugin manager for encryption filters.
- Digits filter now uses filter_var internally.
- In Null and Boolean filters : there was options as int and string. I removed the string as it added some overhead for little gain. People can use bit operator to combine multiple options, like in standard PHP.
- Odd naming in HtmlEntities have been changed (from tagsAllowed to allowedTags).

Any thoughts?

Questions:

- Should the StaticFilter be removed ? It makes things a bit harder, as it requires a FilterPluginManager but we cannot inject it easily because of the static methods.

TODO:

- [x] Remove the "extends AbstractOptions" from AbstractFilter. 
- [ ] Clean the Boolean, all File/* filters and Inflector filter
- [x] Properly write all factories for filters that have dependencies
- [ ] Update tests
- [ ] Full review of code
- [ ] Update doc