Is arduino a single board computer?
The Arduino isn't a computer. It is a programmable microprocessor / microcontroller. 

Generally a computer can run multiple applications where most programmed devices like the Arduino are running only one program. This is not an official definition but it is one way to differentiate. 

It can be difficult to draw a line where it is one but not the other.


  (4) Arduino has some bootloader code to load the program through USB.
  Isn't it kinda like OS, I admit it's not giving some nice api for h/w
  usage but is it all?


No that isn't like an operating system. The Arduino does not have a real operating system when compared to a computer system. And someone being able to load in a new program is just changing the current single program that is runnable. 


  An operating system (OS) is system software that manages computer
  hardware and software resources and provides common services for
  computer programs.


I think the programs being plural is an important factor, but this is only my opinion. 

There is no one definition so you will get a number of different opinions. And most will be reasonable.