logging for the view engine

initial ideas for the view engine. #1563
Question for @lodejard  \ @rynowak, are these types created with the intent that they're meant to be consumed by other authors of view engines? There are aspects such as `Cached` which are implementation details of the `RazorViewEngine`.