added AssetProvider interface and JavascriptRenderer::addAssets()
refactoring of widgets and migration of collectors to AssetProvider

specialized widgets extracted from main widgets.js and into widgets/ folder
collectors using specialized widgets now implement AssetProvider
removed {inheritDoc} comments
added Memcached storage
updated docs