Fix a bug: not size but bytes of color table
Add 'const's
Simplify 'BitmapInfoHeader::Set()'
Simplify 'BitmapInfo::SetColors'
Trivial modify
Add assert check
BitmapResource: Trivial modify
Check argument validity
Add assert check
Use 'Tstring' instead of 'std::string'
Replace redundant 'if' check with 'assert' check
Add 'LoadFromFile'

Use it in ctor.
Add 'swap' to 'BitmapFile'
Rename 'Get*' funcs

Rename 'GetFileSize' into 'FileSize'
Rename 'GetHeaderSize' into 'HeaderSize'
Rename 'GetDataSize' into 'DataSize'
Rename 'DataSize' into 'ImageSize'
Rename 'Data' into 'Image'
Improve ctor of 'BitmapFileHeader'

Calculate file size and header size from color table size and image size.
Add 'Reset'

'Reset' resets 'DIBitmap' in 'BitmapFile'.
Accept more loose 'BITMAPINFOHEADER'
Remove ctors which take 3 params