Make Log overhead lazy, change cast to as.

To avoid throws, we're now returning a null for cached element instead
of throwing. In essence, replacing (T) with as T. To speed the whole
cache up, make Log helper Conditional on DEBUG builds and make all the
string building a delegate so we don't even bother with the ToString
calls and concatenation unless the internal DebugLog flag is true.
Bumping to minor release 1.1.1