make ComponentAnnotationWorker extensible

Details

Description

I'm working on an implementation of global namespaces for Tapestry 4.1. It would solve some of the problems with libraries and namespaces. The implementation is almost done (but there are no docs yet... ).

To make my library more easier to use, I'd like to extend ComponentAnnotationWorker to be able to automatically lookup components in the global namespace.
For this to work, the following changes are required:

ComponentAnnotationWorker should be a hivemind service to be overridable

the automatic component type resolution algorithm should go to a separate method to make it easier to reuse the class as a superclass

I will release the library only if this change is applied to the annotation codebase, because it is a requirement for one of the most important functions of the library.
It would be great if this change could be part of the final 4.1.1!