fix(filterFilter): correctly handle deep expression objects

Previously, trying to use a deep expression object (i.e. an object whose
properties can be objects themselves) did not work correctly.
This commit refactors `filterFilter`, making it simpler and adding support
for filtering collections of arbitrarily deep objects.

Closes #9698
docs(app): minor refactoring of 'docs/app/src/*'
docs(app): refactor the Docs App based on the MD prototype

I incorporated the prototype detailed in https://github.com/gkalpak/angular.js/issues/3.

Things that are different from the prototype (besides using actual data):

 * The left sidenav (toc) is not styled properly (or even readably).
 * The subheaders in the left sidenav are not "stickying" properly (only `ng` becomes sticky).
 * Icons are missing (since we are not using FontAwesome). E.g. search-fab, toc-toggle, results
 * In the right sidenav (search) there are some unwanted horizontal scrollbars.
   (This section probably needs rethinking anyway.)
 * I have implemented a `responsiveMenu` directive to show the options in the header-menus
   (Learn/Develop/Discuss). The purpose is to show the options in a "dropdown-ish" menu on larger
   screens and using a BottomSheet on smaller. At the moment a BottomSheet is used on every
   screen-size.

Notes:

 - Still no version-picker and breadcrumbs (I have left the original implementation of those two
   commented out).
 - I have replaced the previous docs.css with a new one containing the style of the prototype.
   I have renamed the old one to `docs_old.css` and left it there temporarily for quick reference.
   We need to clean up this and the rest of the old CSS files.
 - The main content area is totally unstyled and needs some love (a lot actually).

I have also "sprinkled" the code with a few more TODOs/FIXMEs.

(For more details on known issues and missing features take a look at
 https://github.com/gkalpak/angular.js/issues/3)