As per description.
To fix this, when creating a surface we'll convert the GDI
screen number to the d3d adapter number.
Another improvement is better detection of addition
and removal of displays. Currently we only recreate
the pipeline if the new number of displays is different
from the current one, in which case we re-init the
But this will not work in all cases: if the user added one
monitor and removed another at the same time, for example.
To detect this case we will compare the new the monitor handles
which change when new monitor is added/removed, to the ones
we have already.