Update extend.Filter API
- Add more type and `pre` is renamed to `beforePostRender`, `post` is renamed to `afterPostRender`
- Add Filter.apply
- Add Filter.unregister
- Add filter priority
Use native url library in external_link filter
Add new_post_path filter
Filter.apply: return the last value in sync mode
Filter.unregister: Unregister all plugins if `fn` is not defined
Add post_permalink filter
Rename filter types
Extract EJS and Stylus
Remove Stylus settings
Remove Markdown renderer
Fix tests
Modify .jshintrc
Box.process: Fix error when pattern is not defined
Add 2 static properties to Box: File, Pattern
Refactor Scaffold API with Box module
Ignore files whose name started with _
Merge branch 'feature/scaffold-box' into dev
Merge branch 'dev' into feature/extract-renderer
Simplify `hexo init` procedure
Merge branch 'feature/extract-renderer' into dev
util.highlight: Add `csharp` alias for C# #606
Filter.apply: Add `context` argument