This makes LVGL use malloc/free to handle its memory (instead of their own memory handling) and supports a tick interface by which LVGL can ask NuttX the elapsed time, instead of having to periodically "tick" LVGL internal time in a thread.