Instead of relying constantly on GUdevDevice objects reported by GUdev, we now use a new generic object (MMKernelDevice) for which we provide an initial GUdev based backend.
This patch moves init and port grabbing functions to a separate file to allow functions call from Dell plugin