[render] added interface for window size and position; adjusted viewport size depending on window size; added window size changed callback