title: Presenting ViewController anew does not re-initialize it
body: <p>I have a viewController (videocallVC) that I want to initialize every time it comes into view/loads.
  Currently, the videocallVC only initialize the first time.  If I leave the videocallVC, go to another viewController and come back to the videocallVC it holds the last session in memory and does not "refresh".</p>
  
  <p>How can I make sure that every time I present the videocallVC it is initialized anew ?</p>
  
  <pre><code>import OpenTok
  
  class videocallVC: UIViewController, OTSessionDelegate, OTSubscriberKitDelegate, OTPublisherDelegate {
  
      @IBOutlet var subscribeView: UIView!
      @IBOutlet var publishView: UIView!
  
      let apiKey = "xxxxxxx"
  
      var session : OTSession?
      var publisher : OTPublisher?
      var subscriber : OTSubscriber?
      var connection : OTConnection?
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          session = OTSession(
              apiKey: apiKey,
              sessionId: variableInstance.sessionID,
              delegate: self)
      }
  
      override func viewWillAppear(animated: Bool) {
          doConnect()
      }
  
      // MARK: - OpenTok Methods
  
      /**
      * Asynchronously begins the session connect process. Some time later, we will
      * expect a delegate method to call us back with the results of this action.
      */
      func doConnect() {
          if let session = self.session {
              var maybeError : OTError?
              session.connectWithToken(variableInstance.tokboxToken, error: &amp;maybeError)
              if let error = maybeError {
                  showAlert(error.localizedDescription)
              }
          }
      }
  
      /**
      * Sets up an instance of OTPublisher to use with this session. OTPubilsher
      * binds to the device camera and microphone, and will provide A/V streams
      * to the OpenTok session.
      */
      func doPublish() {
          publisher = OTPublisher(delegate: self)
  
          var maybeError : OTError?
          session?.publish(publisher, error: &amp;maybeError)
  
          if let error = maybeError {
              showAlert(error.localizedDescription)
          }
  
          view.addSubview(publisher!.view)
          publisher!.view.frame = publishView.frame
  
      }
  </code></pre>
  
  <p>There is more code to the videocallVC but I gues this is sufficient to understand the problem.</p>
  
  <p>Any help would be very much appreciated !  Thank you.</p>