Inheriting from java.lang.Object is not what defines OOPness : C++ does not have a common root Object, yet it is still an OOP language.
String is an object : the inability to inherit from it is a *design* decision, marked by a language keyword ("final") - if you edited the source of the String class to remove that keyword, you would be able to inherit from String.
Indeed int is easier to use than Integer. That's why the conceptors of Java made the design decision to stir away from pure OOPness to increase the language efficiency and ease of use. Just like C++ conceptors decided to trade off some pure OOPness in order to increase speed of execution and C-friendliness (static binding by default, primitives, friends...).
But there are times when you do need int to be an object. For instance, when you need it in a collection. That's why you have to wrap it in an Integer - or why you let the language do it with auto-boxing if using Java 5.
Primitives are not objects. Not because they lack inheritance or have a special syntax. But because they are primitives - otherwise, they would be called objects.
They lack encapsulation (a primitive is its own value - no encapsulation at all), they lack polymorphism and of course they lack inheritance. If it crawls, barks and has four legs, it's very unlikely to be a bird.
Likewise, the special syntax for int has nothing to do with them being OOP or not; it is a design decision in Java not to have operator overloading. In C++, you can build a Matrix or Complex object and use regular + or * operators on it.
As for actor languages, they have been mainly used in research and AI. They push the OOP concept further than the class language branch (Smalltalk, Simula, C++, Java...). In an actor language, each object runs in its own execution space (thread, process...). It receives messages from other objects, processes them asynchronously and then sends an appropriate answer through another message. Of course, one actor can inherit from another. Encapsulation is very much enforced : an actor's internal is extremelly private. That's a very pure OOP concept : everything is an actor. The only mean of communication is through messages. And of course, it's slow as hell... You can push the concept very far. Actually, many statements can be turned into actors : an actor could handle looping or comparison for instance.