Fix the chat fade bug...

... This fixes the bug that many user complained about regarding the chat fading out while they were typing. The issue was that we were inappropriately resetting the fade status anytime the chat buffer changed (someone talked)--thus, fade out. I couldn't throw that away entirely because scrolling the chat buffer should reset the fade state. So, I made a smarter `ResetFadeState` that checks the chat input state as well. It decreases the general fiddly-ness of managing the fade state.

Also, I made the chat fade smoother because it looked nasty before.