Here a 4 Kilobyte Java Pinball game by zeroone with sourcecode.

http://java4k.com/index.php?action=games&method=view&gid=389

What this basically shows is that the ballphysics can be implemented easily in code.
(not that this is ment as tutorial,
I just remembered this specific codesnipplet, and it has no dependencies on
other libraries,
so its showcases a complete pinball-physics implementation)

With the physics and architecture working,
the visualization should be easy to do then (for you)

Its just balls and some textured walls + effects...

---(about casual games)---

Using PhysX is another step to make this game fail as a casual game.
As you have to assure its running on the client machine.
There are so many other PC Pinball games, so making
the game harder to install and run just puts off potential consumers.

I would anyhow suggest to have 2 versions:
-a single exe executable (at least for the demo)
-and a classic installer

and keeping the (demo) somewhere under 20MB