recalculate dpi on different platform

The scale ``factor`` will always be 1 if the output scale does not change. So I default set ``factor`` to 1. If the event happens, the listener will get the latest scale and recalculate dpi.
1. I mean remove the space in `<>`, i.e. `reinterpret_cast<Display*>(data);`
2. No need to add in `display_handle_done()`, as nothing to do in that function.
3. I see extra space in `registry_handle_global()`'s `reinterpret_cast` as well, so please help to remove it. Thanks.