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 
Oh, I find the reason of the problem. It is because I used ```self.adjust_dpi(self, *arg)``` so that ```self``` is passed twice into the method. As a result the method will read the width and height from ```self``` instead of the passed in arguments!

Thanks a lot!