Split cache and middlewares that use cache

API is changed.

Before:

    application.use(droonga.cache({
      size: cacheSize,
      rules: [
        {
          regex: /^\//,
          ttlInMilliSeconds: 1000
        }
      ]
    }));

After:

    var cache = new droonga.cache({
      size: cache
    });
    application.use('/cache/statistics',
                    droonga.middleware.cacheStatistics(cache));
    application.use(droonga.middleware.cache(cache, {
      rules: [
        {
          regex: /^\//,
          ttlInMilliSeconds: 1000
        }
      ]
    }));