The display-interface-spi crate the not flush the internal fifo between the write
and the changes of the CS and DC pins, which result of changing these pins before
the screen recieve all the data over the spi and causes artifacts on the screen.
So re-implement the logic in our crate and use `transfer` instead of `write`
which flushes the fifo correctly.