Bond, move вынести наружу и забиндить, иначе он каждый раз заново создаётся, что не есть хорошо.
var Bullet = (function() {
function Bullet() {
this.element = document.getElementById('transline');
this.bullet = document.createElement('li');
this.left = 0;
this._move = this.move.bind(this);
}
Bullet.prototype.create = function() {
setTimeout(this._move, 10);
};
Bullet.prototype.move = function() {
this.left += 4;
this.bullet.style.left = this.left + 'px';
if(this.left >= 1000) this.remove();
else setTimeout(this._move, 10);
};
Bullet.prototype.remove = function() {
this.bullet.remove();
this.left = 0;
};
return Bullet;
}());
Также советую почитать про requestAnimationFrame.