Add wxUSE_TASKBARBUTTON under MSW port.

Taskbar button features are only available under MSW port.
Register message "TaskbarButtonCreated" when wxTopLevelWindowMSW is created.

This message is used to make sure the taskbar button is in place, so
wxTaskbarButton object can initialize correctly.
Introduce skeleton of taskbar button feature.

- Add classes: wxTaskBarButton and wxTaskBarButtonImpl.
- New interface in wxTopLevelWindowMSW to get its wxTaskBarButton:
    MSWGetTaskBarButton.
- Changes after running: bakefile_gen -fmsvc
- A simple sample and build files under msvc.
API for change the visibility of button in the taskbar.

- ShowInTaskbar and HideInTaskbar
- Sample of usage.
APIs to support setting overlay icon, tooltip, thumbnail clip, progress state.
APIs for adding a thumbnail toolbar with a specified set of buttons.

- AddThumbBarButton(wxThumbBarButton *button), ShowThumbnailToolbar().
- Add THBN_CLICKED message handler to top level window and generate a
  wxCommandEvent event.
- Sample.
Move taskbar button from wxTopLevelWindowMSW to wxFrame.

Since there are two sub-classes of wxTopLevelWindowMSW: one is wxFrame, the
other is wxDialog. However, wxDialog have no button shown in taskbar on
windows, so the taskbar button feature should be only avaiable in wxFrame.
Only register window message "TaskbarButtonCreated" when the first frame is created.
Expose setting description of overlay icon for accessibility.
API: SetThumbnailContents, for setting thumbnail contents with child window.
Revise Show/Hide, for consistency with the other classes.
Revise progress releted API to be more usual.

- Add PulseProgress
- Add SetProgressRange, instead of hard coding 100.
Nit: fix code style.
Work around the limitation of windows API when setting thumbnail toolbar buttons.

- New API: InsertThumbBarButton, AppendThumbBarButton, RemoveThumbBarButton.
- Though MSDN said that "Buttons cannot be added or deleted later, so this must
  be the full defined set. Buttons also cannot be reordered.", we can work
  around it by: when first time adding button, initialize all of the possible
  seven buttons and hide them, except the button adding. In the next time adding
  button, just show it, which can make it looks like it is added on the fly.
Fix mingw build error of ITaskbarList3.
Generate mingw makefiles, also move wxTaskBarButton into core.
Coding style fix.
Add doxygen docs of wxTaskBarButton.
Allow 2-phase creation of wxThumbBarButton.
Expose APIs that can update the behavior of wxThumbBarButton.

- void Enable(bool enable = true);
  void Disable();
- void EnableDismissOnClick(bool enable = true);
  void DisableDimissOnClick();
- void SetHasBackground(bool has = true);
- void Show(bool shown = true);
  void Hide();
- void EnableInteractive(bool interactive = true);
  void DisableInteractive();