A Deterministic Polynomial Time Algorithm for Non-commutative Rational Identity Testing