Add 'BitmapFile.(c|h)pp' files
Add 'BitmapFileHeader' struct

The struct is wrapper of 'BITMAPFILEHEADER'.
Add constructor from 'BITMAPFILEHEADER'

This constructs '*this' directly.
Add 'BitmapFile' class

This holds bitmap file information.
Add function to read bitmap file header
Add function to read bitmap info header
Add function to read bitmap info and color table
Make validity check of 'BitmapFileHeader' more strict

File size must be greater than header offset size.
Remove 'Set'

Merge 'Set' and ctor.
Add accessors of 'BitmapFileHeader'

Add 'GetFileSize', 'GetHeaderSize' and 'GetDataSize'.
Do not trust file size in bitmap file header

Examine file size from file handle by yourself.
Discard file size in header and use the size you examine.
Add function to read bitmap and create device independent bitmap
Add ctor to build 'BitmapFile' from bitmap file
Move helper funcs about 'ReadFromFile' to 'detail' namespace
Change access level of 'Set'
Change access level of 'SetColors'

Change access level of 'SetColors' from public to private.
Register 'DIBitmap' as friend of 'BitmapInfo'
to be able to access 'SetColors'.
Improve impl of 'SetColors'
Call 'SetColors' at 'DIBitmap' ctor
Improve impl of 'SetColors'
'Clone' is not needed any more