Fixed pixel calculations for narrow screens

These were causing a _java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!_ message, especially when changing resolution or your system waking up from sleep.

Fixes #387
Reformatted to Google Java Style guide

No code changes, this change just gets the formatting consistent by using 2-space indentation instead of tabs or 4-space.
Reformatted to Google Java Style guide

No code changes, this change just gets the formatting consistent by using 2-space indentation instead of tabs or 4-space.
Reduced likelyhood of memory leaks in Windows version

There have been various reports of the HearthStats Uploader using up all available RAM on Windows. I'm not exactly ideal to fix the problem because I'm not a Windows programmer, don't know anything about memory management on Windows, and I haven't even been able to reproduce this problem myself. However I have identified a few likely problems that could cause a memory, so I've changed the Windows detection code as follows:

* Reuse `char[]` buffers instead of creating new ones each iteration -- if those buffers are the source of the leak, at least we're only creating them once per run instead of hundreds of times a second
* Only check for Hearthstone once every five seconds -- previously we'd investigate thousands of processes per second looking for Hearthstone, now we only do this once every five seconds. If that process code is leaking, it will massively reduce the rate at which it leaks. Note: this doesn't slow down detection, in fact it probably slightly speeds up detection because more time can be spent on analysis and less looking for Hearthstone.
* Now only determines the location of Hearthstone once per Hearthstone run -- previously this happened on every iteration, and the code that did that went in around the time people started reporting memory problems... so it might be the cause. Executing the code only once per Hearthstone run should effectively prevent that code from leaking.

So I think this should resolve #343, #354, #381 though I haven't fixed the root causes of the memory leaks -- a major improvement but not the perfect solution.
Manually merged #396
Manually merged #396