Initial commit.
I've fixed the issue with the background being clipped as a gray border surrounding the "grid-like grass tiles". I've also edited the grass tiles, so that it will display nicer-looking grids for visual aid.

 No collision detection available, though.

 The issue with the AWT KeyEvent latencies are still there. It's unfixable by design (AWT Java stuffs).
I've added obstacles and the infamous slow walking:

 In a Pokémon game, when your character hits an obstacle, and you keep pressing the directional button facing the obstacle, your character will do a "slow-motion walking", while the game keeps playing the "bump" sound file.

 I recreated that "slow-motion walking" when you bang with a tree.
Fixed some rendering issues when the test area is offset upwards up too high. The same issue will occur when the character is near the very bottom of the test area.

 Also, modified the artwork a little bit, and added some more inputs: You can now use WASD keys to move up and down.

 The test area is now larger (taller, not wider). It reminisces the NES world scrolling, well, sort of I guess.

I have added the option to use Generation 1 Pokémon walking or Generation 2 Pokémon walking while running the program. In Gen 1, your character isn't able to just turn around and face a direction without walking. In Gen 2, however, you can turn around on the spot without walking.

 The option can be found in the InputHandler.java, where the source code is located in the "main" package. I have put a comment about the option there for your reference.