make_converters: Conform to move of ALLEGRO_PIXEL_FORMAT to color.h

(cherry picked from commit 813cda5b5e6ef9d03034dea6bd84f103828ffb4b)
It was bothering me that the bitmap struct never got zeroed.

(cherry picked from commit dd6ec5f345b5793528b45fbbc786433a7f916aa8)
al_set_mouse_xy on Windows resulted in the mouse getting set
to the wrong position in windowed modes (for me 3 pixels left of
where it should be on x, didn't check y.) This indicated there's
probably a problem with al_win_get_window_position. This fixes
the al_set_mouse_xy problem but there seems to be another issue.

(cherry picked from commit 77821b1ba2870bddb9a07f4ff6e7e9310c684b99)
Top level bitmap drawing code doesn't check for locked bitmaps,
only memory bitmaps to do memory drawing. Assumingly because the
driver may still be able to accelerate something. So put checks
for locked bitmaps in OGL driver in addition to memory bitmap
checks when checking to use memory drawers.

Raspberry Pi backbuffer locking was wrong when locking regions.

(cherry picked from commit c0d1b2e33c5bd0bf776cbd7f95648d39c0d74133)
Fix the documentation of al_draw_text

(cherry picked from commit 845cbfacf4e846a2f475250bf8bbb66b6fa7a519)
[docs] fixed a typo

(cherry picked from commit a3a5b4b538c7bd900c6e6e6809a8e1561391d515)
Return failure from al_install_keyboard if XGetKeyboardMapping returns 0
in symbols per key. This happens on RPi sometimes, reason still
unknown.

(cherry picked from commit 7d57c21386682977e1d364d0f70a314c21449770)
docs: Fix documentation of al_utf16_encode.

(cherry picked from commit dbcc39a50bb6aec32a561e38f5a17b18b6ec9b36)
win: Register system interface even if no display driver available.

Allegro has non-graphical uses.

(cherry picked from commit 228c3ca6adf2f068588ebaee426d0dc8a849dca5)
win: Don't fail init if both D3D, GL drivers unavailable.

(cherry picked from commit 677831b6f86338d280ed5dec55238c811e754aac)
Don't crash in al_create_display if there is no display driver.

(cherry picked from commit a0a1857f2786e00e7e68ded220da9ec1e3cab982)
win: Don't crash at shutdown if there is no display driver.

(cherry picked from commit 65e041b79f0b7a3319ff280792f8f7737e1b5f0f)
win: Clean up display driver selection.

(cherry picked from commit bf034160d8ea326a8a72b3ac081bf19eb3f82793)
Fix the image addon CMakeLists.txt includding the wrong directories for JPEG support

(cherry picked from commit 402e66c74703db6f5fe4f1a7692cec551b7e2b36)
cmake: Avoid duplicate rules to copy example/data to build dir.

This received warnings from the Ninja build tool, which can be used with
recent versions of CMake.

(cherry picked from commit ace9770daa18694f4fb9dfe7b626806fce03fd51)
cmake: Minor clean up of cosmic_protector, skater build scripts.

(cherry picked from commit ddbbae1b18c5796042a364d0d38b865c3765067c)
Assert that al_destroy_bitmap does not destroy the targeted bitmap.

(cherry picked from commit 79836aa973f77fd0e5cc49fc690994b02c42c179)
Fix examples which destroyed the target bitmap.

(cherry picked from commit af4251a2d2ceb53299f3dfaceb2ea9667f52c2d2)
test_driver: Fix a bug where we could destroy the target bitmap.

(cherry picked from commit f875f4380dfa4c5f4e9950c95f47118e94b2d634)
test_driver: Fix typo in error message.

(cherry picked from commit 7cd728b94fb6bf88006051bffe102cd33c70f1ab)