platforms/drm: Refactor event dispatching code
There are a couple of reasons not to use the lambda:
- It is unnecessary. The DrmGpu has the DRM file descriptor
- If a crash occurs somewhere in the lambda, the backtrace will be hard to read
- Instead of processing events in the destructor of the DrmBackend class, we should keep dispatching events without involving QCoreApplication::processEvents() until all page flips are completed.