Yeah, you might want to go legit 3D. Unless you want to make custom textures, put them in Minecraft, and screenshot each one ;D
The easiest way to do fake-looking isometric 2D is to rotate everything 45º, then scale its Y. Your example isn’t exactly an isometric approach, but it’s the same idea. If you look at those shapes, they’re basically trapezoids. So if you draw your quad and skew the rear 2 vertices / squish the Y, you’ll get the same effect.
But then you’re kind of writing your own 3D camera, so you might as well go all 3D if you understand that reasonably well.
Writing your own 3D camera is not very complicated.
Look for example at this software renderer I wrote.
http://ubuntuone.com/5vRmp4xsKyO7h6DJZ6bEuJ
You can move around with w,a,s,d,q,e,space,c and look around by clicking and dragging the mouse.
O(n^2) sorting might be ok in this particular case but in general its just plain wrong. Just learn to use collections.sort to get faster, cleaner and better code. Algorithm level optimizations are something that everyone should know.