Promote CommonMethods DSL classes to top level

Older Rubies that Shoes3 ran on had scoping differences that meant that DSL
classes could be referred to unqualified (i.e. Link instead of Shoes::Link).

To retain compatibility with that older code (and also keep the Shoes API
simpler), we promote any DSL class that gets Shoes::CommonMethods included in
it to the top-level.
Including Link and LinkHover in primary DSL

This is done by including Shoes::CommonMethods, and ensures that the
unqualified constants are available at the top-level Object scope.

LinkHover is just a placeholder for now.
Merge branch 'master' into simple-menu-fixes

Conflicts:
	lib/shoes/link.rb
Revert "Promote CommonMethods DSL classes to top level"

This reverts commit c4306dd93767dd96934b52ebcf705959cafd74b0.
Simple menu fixes for compatibility

There are a couple of post-alpha issues that were preventing this sample from
working, and also a compatibility change in how we reference the Shoes classes
for use from `style`. This commit should get the sample running on master, and
it can be revised when later functionality allows.

Also removes the copied simple-menu1.rb which was presumably a Shoes4
compatible version of the original simple-menu.rb
Merge pull request #635 from shoes/simple-menu-fixes

Simple menu fixes (samples/simple-menu.rb)

Resolves #528