Fix headless Firefox display bug in functional tests

Without pyvirtualdisplay, the functional tests hang forever
on some systems because the Selenium headless webdriver requires
a display. pyvirtualdisplay is a wrapper for xvfb, added in #357

Partial fix for #341