Refactor Size() on entities to return relative units

Previously, Size() returned an absolute pixel value, which made it quite
inflexible, especially when pixel values are not used in any other part of
the application. By using relative floating point numbers instead, the
process is much simpler and more effective.