add bmp writer and reader with libbmp support