refactor ninja boot process

Hi Raphael,
First of all, probably you don't need to take the "1.1" commit.
Can you explain (or give me some article) how do not send all changes or changes that already in upstream.
 
So... this boot refactor is necessary for me, as i added support of Apache shiro security for my app and i want to have ability to update the ninja in easy way. (not change the ninja-core only for me)
Shiro has guice module and in constructor he want servletContext
and i think that this refactor making the boot process more straightforward.

i also changed all tests stuff for new boot way.