That library has a far better code structure than yours.
If you are to make it work for your display, I would suggest that you follow that structure - the differences are likely in timing, or initialization.
The code, however, can be improved.
In vfd.c:
#include "uart.h"
Probably no reason to include it here.
uint8_t yoffset = _vfd_coord.y % 8;
Unless the compiler optimizes that, it can be sped up significantly.
You may want to look into a graphics library for Nokia 6110. The drawing routines there are really nice.