Added the AtmosphereClassInstantiator interface to make integration with dependency injection frameworks easier.

AtmosphereClassInstantiator is now used to create instances of classes in most of the Atmosphere framework. This is done via AtmosphereFramework.newClassInstance which uses an instance of AtmosphereClassInstantiator  to actually create an instance. 

You can override the default behavior, which is calling Class.newInstance() by using setting ApplicationConfig.CUSTOM_CLASS_INSTANTIATOR to an implementation class of AtmosphereClassInstantiator.

Also added AtmosphereFramework.atmosphereClassInstantiator to allow for run-time configuration of this behavior.

The changes most significantly affect the subclasses of org.atmosphere.annotation.Processor which allows annotation-based object creation to use this new scheme.

I have tested this with Apache Tapestry 5's IOC for DI and it works well with very little code.