Handle differences in paths for Linux vs FreeBSD
- The name of tty devices is different; put detection into the CMakeLists and pass that as a define when building virtual_terminal.cpp -- this means no ifdeffery for the path.
- The name of dri devices is different; FreeBSD just has one.