Fixed the clipping of the source rectangle in all the blitting functions.
The G.blit() Lua function will now scale the bitmap through the bm_blit_ex() function if the new optional parameters sw,sh are supplied.
Fixed a bug where JPEGs weren't loaded properly.
Added proper(?) error handling to the JPG module. It will no longer just exit() if it can't load a file.
Also fixed a rather embarrasing bug in the JPG save code where the R and B channels were swapped (I thought the color degradation was just compression artifacts because of my poor test images).
Added a bm_apply_kernel() function that can apply an arbitrary kernel to the bitmap.
Replaced the body of bm_smooth() with a 5x5 Gaussian kernel.
Also, finally tested the bm_copy() function.
Fixed the fullscreen, resizable and borderless flags for the window during game initialization.
Altered the clipping on bm_blit_ex() once more. Pray I don't alter it again.
Removed everything related to SCREEN_BPP. It served no useful purpose.

Signed-off-by: Werner <wstoop@gmail.com>
Added the bm_adjust_rgba() function to the bitmap module that will adjust the colour of all the pixels in the bitmap with a specific value.
Added a new re_clone_bmp() function to the resources module that will copy a bitmap and manage the copy in the bitmap cache.
Exposed the new re_clone_bmp() and bm_adjust_rgba() functions to the Lua BmpObj as BmpObj:clone() and BmpObj:adjust() respectively.