High/Low DPI Adapting

The Qt UI would change the size according to the logical DPI of the computer
Only Windows and Linux have been tested. (Should also work on Mac but have not tested).
The function is unfinished.

Fixes #576 
Sorry I don't understand the above function so maybe my questions below are due to my lack of understanding.

Why do you pass it a width and height but don't use the width and height. Instead you use the width and height of a Widget that is also passed too? on that note where is the Widget at index 0 coming from?

The reason you get a completely different number than what your input is, is because you are not using your input. In your test you pass setMinimumSize(300, 300) but according to the above code you ignore the 300, 300 in your try block and instead read args[0].width()  and args[0].height() from an instance of a widget that is also passed in.

I created the following test code:

<pre>
from PyQt4.QtGui import QApplication
from freeseer.frontend.qtcommon.dpi_adapt_qtgui import QWidgetWithDpi

app = QApplication([])
widget = QWidgetWithDpi()
widget.setMinimumSize(300, 300)
</pre>

and added <pre>print(args)</pre> to right above the try: statement and when I run it I see this output: <pre>
(<freeseer.frontend.qtcommon.dpi_adapt_qtgui.QWidgetWithDpi object at 0x7fa63591cdf8>, 300, 300)</pre>

We can see 3 items are passed, and instance of QWidgetWithDpi as well as the values 300 and 300. The array looks like this:

<pre>
[0] = QWidgetWithDpi()
[1] = width
[2] = height
</pre>

Except according to your code you ignore the width and height that you pass. and instead read the width and height from an instance of a Widget. instead.

And in the case of failure your exception reads arguments [0] and [1], are you expecting those 2 indexes to be width and height in the event of the try failure?