Cache implementation

- Add D3\Cache interface
- FileCache extension