Improve MetaTagRegistry#tags algorithm.

Build a map by position type once, instead of filtering tags list every time.
Warn about duplicate assets only within a group.

It's now OK for a guide to be listed in multiple groupes, but when
it's listed multiple times within one group, a warning is printed.

Also added new warning type :dup_asset.
Add pri/sta/pro/... labels to search dropdown.

This way one can easily differenciate between static, deprecated, and
other types of items in search results.
Implement @private & @ignore as meta-tags.

Hacks no more needed to inject private tag into meta tags list,
it's now in there naturally. Although now I'm doing a small hack
to make :private appear on doc object hash itself.

With this, the [pri] label will appear in search results dropdown.
Custom singleton implementation for MetaTagRegistry.

By default MetaTagRegistry.instance will return a registry that's
loaded with builtin tags.  This instance can be overridden for
testing and for loading custom tags.

This greatly simplifies tests and makes them faster as we no more
need to ensure that MetaTagRegistry has been loaded with builtins
before running the tests.  The registry is only instanciated once
for the general case and second time for running special tests
against itself.  Previously initialization happened multiple times.
Remove duplicate @private from member signature.
Different icons for different classes in search.

Singletons and components are now shown with their designated icons
in search results dropdown.
Refactor CSS icon class creation to JsDuck::Class
Make @ignore completely hide class or member.

When used on a member, it's treated as if the doc-comment wasn't even
there.

When used on a class, all its members will be ignored too.

This makes it a useful tool to easily exclude a class or a member from docs.
Remove support for template/ directory of guides.

This was a hack with no obvious need.

All guides are now read only from guides/ dir, like in ye old times.
Better icon management for guides.

The default icon files is now icon.png.  When guide doesn't contain
it, icon-lg.png is looked for.  When that is also missing, the
default guide icon is used.
Don't output original guides/videos/examples JSON files.

There needs to be a separate mechanism for giving people access to
all the assets used in documentation.  The previous approach of
writing out guides/videos/examples JSON files generated needless
files for most users of the docs, while not really helping the
people who wanted the actual source files of the docs, as these
files weren't really the actual source files, only gone-through-jsduck
versions of only some of them.
Up version to 3.6
Fix guide icons in @aside tags.
Up version to 3.6.1
Optimize initial rendering of inline examples.

Instead of launching the CodeMirror editor right away, only the toolbar
is created and the original highlighted <pre> is kept.  Only after
"preview" or "code" button is pressed will the <pre> be replaced with
CodeMirror editor and inline preview iframe.

This greatly speeds up the loading time of classes that have inline
examples.  This of course only applies to examples that don't start
off in preview mode - these will still slow the page down.

Most of the logic that was previously in InlineExamples controller is
now moved away to the components.  The controller only deals with the
high-level stuff like initializing the components when page loaded.

From look-and-feel side the editor component now has rounded corners
and looks almost like the normal <pre> code block.  When switching
from <pre> to editor, the text stays at the exact same position,
only the syntax highlighting colors change.

Having removed this slowness factor, inline examples are now also
enabled in IE.  The experience in IE is seriously crappy still...
Don't warn for missing docs in members with @hide.
Refactor touch2 rake task.

In touch2[export] task make use of SDK/touch/docs/build-* files.
This removes the need for the whole rewriting process of welcome and
eg-iframe pages.
Remove export task from Rakefile.

Not really used for now and only confuses things in this already
cluttered file.
Remove default --examples-base-url from touch2 rake task.

The default value is now specified in config.json in touch repo.