If the interrupt pin is set, use the interrupt code, else poll. This change results in a slightly larger executable in both cases, with unreachable code. More so in the case of polling, bet the difference is not great.
* Align our driver module layout to properly match Zephyr conventions, allowing proper CMake setup to amend the library for each type of driver.