Provide a way for drivers to be purely LCD controller specific

This lets the device provide more info to the driver.
Two display modules using the same controller can have two
listings in fbtft_device, letting them have different gamma curves and
initialization sequences. Even fbtft operations can be overidden.
fbtft.h: add documentation
fbtft: Add driver helper functions

Driver helper functions:
* fbtft_probe_common()
* fbtft_remove_common()

Generic FBTFT operations:
* fbtft_init_display()
* fbtft_verify_gpios()