Redesigned project.c, all functionality of LCD  fit into four main function: init_lcd, write_data, send_data_8bit, send_data_4bit