Decouple as much HttpContext as possible

I decoupled as much HttpContext as possible from the libraries. Because I use Dynamic-Image in an async method the library can't relay on HttpContext. It can on the other hand when initializing the library in the Application start, so I made the application save the application path (that's what the context is used for in almost every case) on runtime and use it only on the places where it's needed from this runtime variable.

There isn't any breaking change, hope you like the changes.