Check circular dependencies before resolving @inheritdoc.

Otherwise the documentation inheriting process will run into infinite
loop.

For example the following code cause a problem:

    /**
     * @class
     * @extends B
     */
    A = {};

    /**
     * @class
     * @extends A
     */
    B = {c: 'd'};

That's fixed now.
Up version to 4.6.0.
Mention Timo Tijhof in README thanks list.
Fix markup conflict in builtin RegExp class docs.

The "|" is used as table cell separator and inside a table cell
needs to be escaped with HTML entity.
Add :touch2 --import testing code to Rakefile.

In commented out form, to be used when needed.
Ignore hidden members when counting new ones.

The Class#find_members(:local=>true) previously also returned
the hidden members.  This resulted from the fact that internally
it was using #global_by_id and #local_by_id indexes from MembersIndex
class.  As these maps are also used internally inside MembersIndex
I'm now exposing #all_global and #all_local methods which return
the arrays instead of hashes and both without any hidden members.
Show "Nothing found" text when search fails.

That's much better than the previous flickering where before performing
the search the dropdown was shown and after getting no results it was
hidden again.

Better to just show a message "Nothing found" - this will also make
clear to the user that the search found no results and didn't just fail
for whatever reason.
Allow Markdown file to be used with --welcome.

Added additional styles for the welcome page so that when it's
rendered from Markdown, the default result will look OK.
Document ECMAScript 5 method in builtin classes.
Up version to 4.6.1
Warn when referencing missing images from guides.

Achieving this required extensive refactoring of how the images get
processed.  Previously the existance of images was looked up after
all the @img tag had been replaced.  Now the check for existance is
part of expanding the @img tag, so the check happens also for images
in guides, for which the check didn't occour previously as there is
no images copy step in there.

The old Images class has been replaced with ImageDir and ImageDirSet.
Add width and height attributes to expanded @img tags.

Include the Dimensions gem to retrieve image width/height meta-data.

Additional %w an %h placeholders to --img-tpl template.
Report unused images in guides.

Both the ImagesDir and ImagesDirSet now have #report_unused method.
No more is the unused images reporting part of #copy method.

Also take care to ignore the icon.png and icon-lg.png files inside
guides - these don't have to be reference by @img tag, but are
used automatically.
Move ImageDir and ImageDirSet to Img:: namespace.
Extract Img::Writer class from Img::DirSet.
Extract #format_guide method from Guides#load_guide.

Just an ordinary refactoring.
Auto-link classnames beginning in lowecase.

Previously all auto-linked classnames had to begin with uppercase char,
but that's not really needed as we only replace namespaced classnames
anyway.
Allow "_" and "$" in auto-linked class/member names.
Extract AutoLink and LinkRenderer from Inline::Link.

Splitting up the humongous Link class into more managable pieces.

The DocFormatter constructor now takes two parameters - relations and
options, instead of passing the relations in separately.  It then
instantiates LinkRenderer and passes it to Link and AutoLink
constructors.

The LinkRenderer is still too heavily coupled to Link and AutoLink,
as these call all the methods of LinkRenderer, but the situation is
much better overall.
Fix regex for detecting indented code.

For some reason I had always thought \Z is the end of string in Ruby,
but it turns out \z is actually the end of string while \Z will match
right before a newline at the end of string if there happens to be one.

This little difference caused quite an unexpected behavior in one corner
case where the code example is on just a line before the @tag.