Use AWT provided shapes instead of custom ones

And a bunch of cleanup