add PlaylistViewUINT custom unsigned integer data type hack
PlaylistView OnDisplay function and thus be able to change the
colour of individual rows in a 'ListBox' without having widget
support for this. this workaround should be removed once there
is support in the toolkit for the intended presentation behavior.

patch PlaylistView in order to be able to use PlaylistViewUINT hack.
add AsyncDownload task, this will make it easier to download
multiple tracks at the same time when multiselect is implemented
while still having value for the current implementation of a single
download. this also abstracts the code that gets the track from the
one that updates the UI making it easier to plug into other places.
implement Download Button NotifyClicked that now actually sets
up the task that downloads the track.
implement the AsyncDownload notifyOnDownloadSuccess and
notifyOnDownloadFailure callbacks in order to update the UI once
the task is finished.
add ecere-ide project file