use dyb::array2d to implement ScreenManager. now Window size is not limited to compile time constant