i decided to break these out into new classes using what Thomas had originally submitted and building off of it. it is not as efficient as i would have wanted - i was shooting for having just one container in the UI class and then positioning the grouped elements accordingly - but it was too hard to make it all work smoothly so i went back to what Thomas had and just extended things and added the refresh system in there to keep redrawing down to a minimum. let me know if this is usable. you can test it with this test scene: https://www.dropbox.com/s/cwjxhf6s5r6qpma/MultiresolutionTest.zip
bugfixes: AVirtualJoystick - threshold calculations, Hero - check for "duck" instead for "down"

If I understand the threshold property of AVirtualJoystick correctly it
is supposed to be set between 0 and 1. This means that the normalized
distance to the center (which is also between 0 and 1) has to be used
for comparison. But currently the pixel distance to the center is used
instead which will always be >=1 when the knob is not in the center. As
a consequence the threshold setting currently doesn't affect anything.
I've replaced the pixel distance by the normalized distance in order to
fix this.

I've also noticed that in the hero classes for Box2D and Nape the
"down"-state is used to check if the player character is ducking while
the "duck"-state is used for the animation. On the opposite side the
"jump" is used in both cases. While the "down"- and "duck"-state
basically seem do the same their initial action ranges in
AVirtualJoystick are different (same goes for "up" and "jump"). This
currently leads to an asyncronic behavior of the virtual joystick,
because you need to be at 0.8 in order to jump but only -0.3 in order to
duck.
Therefore I've changed the check from "down" to "duck" such that you
need to be -0.8 in order to duck.
Revert "bugfixes: AVirtualJoystick - threshold calculations, Hero - check for "duck" instead for "down""

This reverts commit 0d54ad3272810910dbc8a1e52e36b7b20477745d.
bugfix: AVirtualJoystick - threshold calculation

The threshold property of AVirtualJoystick is supposed to be set between
0 and 1. This means that the normalized distance to the center (which is
also between 0 and 1) has to be used for comparison. But currently the
pixel distance to the center is used instead which will always be >=1
when the knob is not in the center. As a consequence the threshold
setting currently doesn't affect anything.
I've replaced the pixel distance by the normalized distance in order to
fix this.
Merge branch 'RazorDE-threshold-duck'
Merge pull request #185 from mcapraro/ui-develop

UI layout classes with refresh system built in