cosmetic: move CGUIControlFactory::GetDimension private
[guilib] fixed - groups with no <width> or <height> set but with <posx> or <posy> had incorrectly derived width or height.
[guilib] adds control positioning via <left>, <top>, <right>, <bottom>, <centerx> and <centery>.

The <posx>, <posy>, <width> and <height> are derived.
Also allows for percentage sizing/positioning, e.g. <left>25%</left>
[guilib] changed: move right aligned label hack so that <left> and <right> behave the same for all controls.

Note: <posx> will still behave as it did in Frodo:
 * On label controls outside of containers that are right aligned, it's the RIGHT edge.
 * In all other cases (including labels inside containers), it's the LEFT edge.
Merge pull request #3451 from jmarshallnz/control_positioning

Control positioning