i2c: clean-up in progress

 - use spin functions instead of micro_delay for busy-wait loops.
 - use read16/write16/set16 from mmio.h to access I2C registers.
 - in read/write, don't mix variable declaration and initialization.
 - rename constants am335x, dm37xx to AM335X_I2C_BUS, DM37XX_I2C_BUS.
 - rename ADDRESS_MASK to MAX_I2C_SA_MASK for clairity.
 - reduce the timeout for soft reset.

This is a work-in-progress. Do not merge yet.

TODO:
 - rename claim/release bus to better describe what they do.
 - check if waiting is required after clearing status bits.
 - consider adding bus busy check to clean-up.
 - resolve any other comments.

Change-Id: Ic221e6134e024ea0a6690f21cff208a728286948
splash: framebuffer test program

Change-Id: I7e045a4c6cec476615057f46f530693c0a2a17e0
splash: use parameters provided by the fb driver

Certain parameters, such as screen resolution, differ between
monitors. Enhance the splash program to dynamically configure
itself.

Change-Id: I49b0a3704decb7cb4633a1ee424b0419a1d67cf0