pw_draw: Split .h and .cc files, TextArea updates

- Split rgb565.h into .h and .cc files
- Add rgb565 Blit function and test (under draw_test.cc)
- Split draw.h+.cc into separate draw and text_area files
- TextArea foreground and background color setting
- TextArea ScrollUp by number of lines + test
- TextArea Character wrap at edge of screen setting
- Create a log to screen function in
  //applications/terminal_display/main.cc
- Update the Imgui backend to draw the display texture in the
  background instead of embedded inside the imgui control window.
- GLFW host mouse cursor as a pw_touchscreen implementation.
- Fix some compiler warnings

Change-Id: I527f9cc6ae079dc7b5b686ff93bfc01ec1407cf5
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/95543
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
Reviewed-by: Erik Gilling <konkers@google.com>
Commit-Queue: Anthony DiGirolamo <tonymd@google.com>
23 files changed